1. Field of the Invention
Embodiments of the present invention relate to, but are not limited to, electronic devices, and in particular, to the field of processors.
2. Description of Related Art
In the operation of a processor device the temperature of the processor may fluctuate considerably depending on the activities of the various units of the processor device. A processor device as described herein may be, for example, a microprocessor that resides on a die or a microprocessor package. Such devices are typically comprised of at least the core of a processor (processor core) that is made of numerous functional blocks or component units. These functional blocks may include, for example, execution units, register files, cache memory, control circuitry, and clock generation circuits. These functional blocks may be disposed in different portions of the processor core. Each of these functional blocks may be further comprised of numerous transistors such as n-channel metal-oxide semiconductor (NMOS) and/or p-channel metal-oxide semiconductor (PMOS) devices.
When a processor device is idle, many of the functional units may be shut off and the overall processor temperature may be relatively low. However, when the processor is in use and depending upon the application being run on the processor, the amount of heat generated by each of the functional blocks may vary significantly. This may cause the processor device to experience significant temperature variations and may even result in hotspots forming within the processor core. The “speed” at which these processor devices can operate will typically depend upon their operating temperatures.
The operating speed of a processor device is normally influenced by several factors. These various factors may include for example, clock frequency, circuit delay, and thermal throttling.
The clock frequency is the frequency of periodic pulses that are used to schedule the operation of the processor device, which may also be referred to as the operating speed of the processor device. The clock frequency is typically preset during the initial testing of a processor device. The clock frequency for a processor device is typically set during the testing stage of the processor device. The clock frequency will likely be preset based on the operating temperature that the processor device is likely to experience during its operation and the speed at which the processor device can be operated at that temperature with no or a “minimum” amount of errors (i.e. an amount of error within an acceptable precision threshold). Processor devices typically can operate at higher speeds when the operating temperature is relatively low. For example, if the operating temperature of a microprocessor is expected to be relatively low, then the clock frequency may be set at a relatively high rate than if the operating temperature is projected to be relatively high.
Circuit delay, in contrast, relates to the amount of time it takes for signals to transmit from one point to another point of a circuit. That is, one way to define a circuit delay is to define it as the amount of time it takes for a signal to propagate along a signal path. In a processor device, the amount of the delay will typically increase when the operating temperature of the processor increases.
Thus, the clock frequency is typically also preset at a particular level to match the circuit delays under the expected operating temperature in normal operating conditions. Unfortunately, there are situations whereby the temperature of a processor will rise beyond what was projected to be the typical operating temperature. For example, applications that include a “power virus” may sometimes be run on a processor. These power viruses may make certain functional blocks contained in the processor to dissipate large amounts of heat by making these blocks do unnecessary work.
In order to address the temperature spikes that occur as a result of power viruses or other power-consuming applications, processor devices may incorporate thermal throttling. In thermal throttling, whenever the temperature of a processor is equal to or exceeds a throttling temperature, the processor is “throttled” or “throttled down” by reducing or shutting off the clock frequency, increasing the threshold voltages (VT) of the transistors that make up the processor device and/or reducing the voltage supplied to the processor. Once the throttling has commenced, the processor activities are reduced, the heat being dissipated is reduced, and as a result, the processor device temperature falls into an acceptable range. Note that the throttling temperature is typically set in view of the temperature supported by the circuitry on the die for a fixed clock frequency. Once the temperature falls into the acceptable range, the processor is allowed to return to its normal operating speed.
FIG. 1 depicts thermal throttling as implemented with a conventional processor device. When a conventional processor device is operating below the throttling temperature 102, the processor device may operate at a preset clock frequency as indicated by ref. 103. However, once the temperature of the processor device as indicated by ref. 106 rises above the throttling temperature 102, the processor device is throttled. This means that the clock frequency (and/or voltage) is reduced during the throttling period 108 as indicated by ref. 107. Although not indicated, in some cases, the threshold voltages of the transistors that may make up the processor device may be increased to further “slow down” the processor device. Once the processor device temperature 106 has fallen to within a desirable range of temperature, the throttling is ended and the frequency is allowed to go back up to the pre-throttling level as indicated by ref. 110.